using SheLife.Domain.Entities;

namespace SheLife.Domain.Interfaces.Repositories
{
    /// <summary>
    /// 系统日志仓储接口
    /// </summary>
    public interface ISystemLogRepository : IRepository<SystemLog>
    {
        Task<IEnumerable<SystemLog>> GetByUserIdAsync(Guid userId);
        Task<IEnumerable<SystemLog>> GetByLevelAsync(string level);
        Task<IEnumerable<SystemLog>> GetByCategoryAsync(string category);
        Task<IEnumerable<SystemLog>> GetByDateRangeAsync(DateTime startDate, DateTime endDate);
        Task<IEnumerable<SystemLog>> GetByModuleAsync(string module);
    }
}